package com.ruoyi.user.domain;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;

import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * 提现明细对象 t_user_withdraw_record
 * 
 * @author DEREK
 * @date 2023-05-23
 */
@SuppressWarnings({ "rawtypes", "serial" })
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("t_user_withdraw_record")
@ApiModel(value="UserWithdrawRecord对象", description="提现明细")
public class UserWithdrawRecord extends Model{

    /** 主键ID */
	@TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 提现编号 */
    @Excel(name = "提现编号")
    private String orderNo;

    /** 提现方式（1：收入） */
    @Excel(name = "提现方式", readConverterExp = "1=：收入")
    private Integer way;

    /** 提现金额 */
    @Excel(name = "提现金额")
    private BigDecimal withdrawAmount;

    /** 提现状态0 处理中1.提现成功 2.提现失败 */
    @Excel(name = "提现状态0 处理中1.提现成功2.提现失败")
    private Integer status;

    /** 审核不通过的原因 */
    @Excel(name = "审核不通过的原因")
    private String reason;

    /** 提现失败的原因 */
    @Excel(name = "提现失败的原因")
    private String failedReason;

    /** 提现至(1 微信  2 支付宝) */
    @Excel(name = "提现至(1 微信  2 支付宝)")
    private Integer withdrawTo;

    /** 提现收取手续费 */
    @Excel(name = "提现收取手续费")
    private BigDecimal rateAmount;

    /** 提现到账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "提现到账时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date withdrawTime;

    /** 操作说明 */
    @Excel(name = "操作说明")
    private String operateExplain;

    /** 到账账号 */
    @Excel(name = "到账账号")
    private String backAccount;

    /** 0:正常 1：异常 */
    @Excel(name = "0:正常 1：异常")
    private Integer abnormal;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 支付宝用户唯一ID */
    @Excel(name = "支付宝用户唯一ID")
    private String alipayUserId;

    private Date createTime;
    
    @TableField(exist = false)
    private String nickName;
}
